From 859804fbea8588edb57a15ba4e625d2cc07c2a0b Mon Sep 17 00:00:00 2001 From: "xenrtd@shispar-rt.testdev.hq.xensource.com" Date: Mon, 21 Nov 2005 18:52:40 +0100 Subject: [PATCH] Catch parsing errors in xm create. --- tools/python/xen/xm/create.py | 8 +++++--- tools/python/xen/xm/help.py | 5 ++++- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/tools/python/xen/xm/create.py b/tools/python/xen/xm/create.py index 6d90f85d03..8bf3c5f6ef 100644 --- a/tools/python/xen/xm/create.py +++ b/tools/python/xen/xm/create.py @@ -909,7 +909,10 @@ def parseCommandLine(argv): def main(argv): - (opts, config) = parseCommandLine(argv) + try: + (opts, config) = parseCommandLine(argv) + except StandardError, ex: + err(str(ex)) if not opts: return @@ -924,8 +927,7 @@ def main(argv): dom0_min_mem = xroot.get_dom0_min_mem() if dom0_min_mem != 0: if balloon_out(dom0_min_mem, opts): - print >>sys.stderr, "error: cannot allocate enough memory for domain" - sys.exit(1) + err("cannot allocate enough memory for domain") dom = make_domain(opts, config) if opts.vals.console_autoconnect: diff --git a/tools/python/xen/xm/help.py b/tools/python/xen/xm/help.py index 276cfbbf4a..9db2e31fdf 100644 --- a/tools/python/xen/xm/help.py +++ b/tools/python/xen/xm/help.py @@ -87,7 +87,10 @@ class Var: """Execute the check and set the variable to the new value. """ if not self.check: return - env[self.name] = self.check(self.name, env.get(self.name)) + try: + env[self.name] = self.check(self.name, env.get(self.name)) + except StandardError, ex: + raise sys.exc_type, self.name + " - " + str(ex) def doHelp(self, out): """Print help for the variable. -- 2.30.2